$(function () {
    // 用户名失焦效验
    $('[name=username]').blur(function () {
        $('.username').show(); // 显示放消息的div
        // 正则效验
        var regex = /^[a-zA-Z][a-zA-Z0-9_]{4,14}$/
        if( !regex.test( $(this).val() ) ){
            $('.username_msg').text('用户名必须以字母开头,可包含字母 数字 下划线 长度5~15位').
            addClass('err')
            return;
        }

        $.post('/users/check',{username: $(this).val() },function (b) {
            if(b){
                $('.username_msg').text('用户名已存在').addClass('err').removeClass('ok')
            }else{
                $('.username_msg').text('用户名可用').addClass('ok').removeClass('err')
            }
        })
    })

    // 密码失焦效验
    $('[name=password]').blur(function () {
        $('.password').show();
        var pwd = $(this).val();
        var regex = /^[a-zA-Z0-9_]{8,20}$/
        if( !regex.test(pwd) || !isNaN(pwd)){
            $('.password_msg').text('密码不能是纯数字,可包含字母数字下划线长度8~20位').addClass('err').removeClass('ok')
        }else{
            $('.password_msg').text('密码格式正确').addClass('ok').removeClass('err')
        }
    })
    // 确认密码
    $('[name=repassword]').blur(function () {
        $('.repassword').show();
        var pwd = $('[name=password]').val();
        var repwd = $(this).val();

        if( pwd != repwd){
            $('.repassword_msg').text('两次密码不一致').addClass('err').removeClass('ok')
        }else{
            $('.repassword_msg').text('密码输入正确').addClass('ok').removeClass('err')
        }
    })
    // 邮箱
    $('[name=email]').blur(function () {
        $('.email').show();
        var email = $(this).val();
        var regex = /^[1-9][0-9]{4,13}@qq\.com$/
        if( !regex.test(email) ){
            $('.email_msg').text('邮箱格式不正确').addClass('err').removeClass('ok')
        }else{
            $('.email_msg').text('邮箱格式正确').addClass('ok').removeClass('err')
        }
    })
    // 发送验证码
    $('.fasong').click(function () {
        // 先验证邮箱格式
        var email = $('[name=email]').val();
        var regex = /^[1-9][0-9]{4,13}@qq\.com$/
        if(!regex.test(email)){
            layer.msg('请填写正确的邮箱格式')
            return;
        }
        // 发送邮箱
        $.post('/users/fasong',{email:email},function (b) {
            if(b){
                $('.fasong').hide().next().show(); // 隐藏发送的按钮
                var sj = 60;
                // 计时器 控制发送时间一分钟
                var timer = setInterval(function () {
                    sj--;
                    if(sj == 0){
                        clearInterval(timer);
                        $('.fasong').show().next().hide();
                    }
                    $('.time').text(sj)
                },200);
            }else{
                layer.msg('发送失败')
            }
        })

    })

    // 验证码效验
    $('#code').blur(function () {
        $('.code').show();
        var code = $(this).val();
        if(code==''){
            $('.code_msg').text('验证码不能为空').addClass('err').removeClass('ok')
            return;
        }
        $.post('/users/bijiao',{usercode:code},function (b) {
            if( !b ){
                $('.code_msg').text('验证码输入错误').addClass('err').removeClass('ok')
            }else{
                $('.code_msg').text('验证码输入正确').addClass('ok').removeClass('err')
            }
        })
    })

    // 表单提交效验
    $('form').submit(function () {
        // 所有文本框 密码框 失焦
        $(':text,:password').blur();
        // 判断是否有错误元素
        if(  $('.err').length > 0 ){
            layer.msg('请正确填写表单内容')
            return false;
        }
        // 效验是否勾选协议
        if( !$('#xy').prop('checked') ){
            layer.msg('请勾选同意条款协议')
            return false;
        }
    })
})